草庐IT

java try finally 阻止关闭流

全部标签

java - 无法发送 SSL 关闭消息

我有一个线程,偶尔会列出消息中心上的主题。但偶尔,我会收到一条消息:无法发送SSL关闭消息。有什么想法吗?KafkaConsumerconsumer=newKafkaConsumer(getConsumerConfiguration());try{Map>topics=consumer.listTopics();returnnewArrayList(topics.keySet());}finally{if(consumer!=null){**consumer.close();**}}我从consumer.close收到警告。消费者的配置:sasl.mechanism=PLAINsecu

java - 为什么 YAMLGenerator 不关闭流取决于配置

当使用yaml工厂创建objectMapper时,您可以设置几个配置参数:ObjectMappero=newObjectMapper(newYAMLFactory());//o.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET,false);//o.enable(SerializationFeature.CLOSE_CLOSEABLE);问题是这个配置在YAMLGenerator中被忽略了:@Overridepublicvoidclose()throwsIOException{if(!isClosed()){_emitter.emit(

java - 并行部署的 web 应用程序的所有版本的缓存都已关闭

我在版本为deployedinparallel的网络应用程序中使用ehcache在Tomcat实例上。这是在不停止应用程序的情况下部署新版本的便捷方法。然而,我对这种继续进行的方式有一个问题:即使我给缓存和磁盘存储不同的名称,根据webapp的版本,所有缓存在停止时停止一个实例。我的配置是:${project.version}和${buildNumber}在构建过程中被maven替换。有人知道如何避免这种不良行为吗?我正在使用ehcache-core-2.4.3和hibernate-ehcache-4.3.8。 最佳答案 net.s

java - 如何阻止 RVM 干扰 JRuby

我使用Warbler从我的Ruby源代码创建了一个Jar文件。我也安装了RVM。jar的行为因RVM使用的Ruby版本而异:如果我rvmusejruby则jar正常工作,但如果我rvmuse2.2然后运行​​jar将这些警告消息打印到控制台:Ignoringexecutable-hooks-1.3.2becauseitsextensionsarenotbuilt.Try:gempristineexecutable-hooks--version1.3.2Ignoringgem-wrappers-1.2.7becauseitsextensionsarenotbuilt.Try:gempri

java - 使用 Spring 的 CachingConnectionFactory 时关闭 session

Java文档here与SpringCachingConnectionFactory相关的评论:NOTE:ThisConnectionFactoryrequiresexplicitclosingofallSessionsobtainedfromitssharedConnection.ThisistheusualrecommendationfornativeJMSaccesscodeanyway.However,withthisConnectionFactory,itsuseismandatoryinordertoactuallyallowforSessionreuse.我不清楚如何在我的

java - ExecutorService.shutdownNow() 不关闭线程

我正在运行一个高度并发的Java程序。当许多线程向执行程序服务提交任务时,主线程会在某个时刻调用ExecutorService.shutdownNow()。执行此操作后,我希望:执行者服务不会接受额外的任务执行者服务的队列清晰其余运行的worker被中断,也就是说,如果他们正确管理InterruptedException和/或显式检查Thread.currentThread().isInterrupted()由于我处于以下情况:执行程序服务由于ExecutorService.shutdownNow()而“关闭”,但并未关闭,即ExecutorService.awaitTerminati

java - 登录和第三方写入标准输出。如何阻止他们交错

首先是一些背景。我有一个从DOS批处理脚本运行的批处理类型的java进程。所有java日志记录都转到stdout,批处理脚本将stdout重定向到一个文件。(这对我来说很好,因为我可以从脚本中ECHO,它进入日志文件,所以我可以看到所有的javaJVM命令行参数,这对调试非常有用。)我可能不会我使用slf4jAPI,对于后端,我以前使用log4j,但最近切换到logback-classic。虽然我所有的应用程序代码都使用slf4j,但我有一个第三方库,它自己进行日志记录(不使用标准API),它也被写入标准输出。问题是有时日志行会混淆并且不会清晰地出现在单独的行中。这是一些困惑输出的示例

具有多个线程的java关闭钩子(Hook)

我正在尝试让一个关闭钩子(Hook)在我的ubuntu服务器上工作,但是我似乎遇到了不止一个线程的问题。使用基本的ShutdownHook,当我使用kill终止进程时,以下代码确实有效,表示关闭行为已激活。publicstaticvoidmain(String[]args){ShutdownHookshutDown=newShutdownHook();shutDown.attachShutDownHook();while(true){}}然而,具有附加线程的相同代码不会publicstaticvoidmain(String[]args){ShutdownHookshutDown=new

java - 小程序被 Java 7 中的 Java 安全设置阻止

我正在尝试部署一个测试演示小程序。小程序代码如下importjava.applet.Applet;importjava.awt.Graphics;publicclassTestAppletextendsApplet{publicvoidpaint(Graphicsgh){gh.drawString("helloworld",300,200);}}我还使用了包含在包含以下行的jar中的list文件权限:沙箱应用程序名称:Applet演示然后我使用包含来自thawte的受信任证书的keystore使用jarsigner对jar进行了签名。Jarsigner还可以使用适当的证书链验证已签名的

java - 如何使用java关闭正在运行的进程?

我正在使用javaRuntime.exec()方法来执行bat文件,在bat文件中我编写了执行jar的代码。这个jar包含线程类,它在rabbitmq队列中无限时间汇集,如果找到消息则执行操作那意味着该过程将无限运行。我想用java代码终止这个进程,我也想知道这个方法是否能够在Linux操作系统上执行shall脚本。**Usedjavacode**StringmyCMD="cmd.exe/Cstartc:\\elasticmgmtservice.bat";Runtimert=Runtime.getRuntime();Processproc=rt.exec(myCMD);**usedba